package com.demo.service;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.demo.config.LoggerManage;
import com.demo.dao.BaseDao;
import com.demo.entity.BaseEntity;
import com.demo.util.DateUtils;

/**
 * @类名称：BaseService @类描述：
 * @创建人：YangChao
 * @创建时间：2017年9月14日 上午7:22:37
 * @version 1.0.0
 */
public class BaseService<T extends BaseEntity> {
	@Autowired
	private BaseDao<T> baseDao;

	/**
	 * 
	 * @Title: save
	 * @Description: 保存操作
	 * @param t
	 * @return
	 * @author YangChao
	 * @date 2017年9月14日 上午7:25:29
	 */
	public T save(T t) {
		t.setCreateTime(DateUtils.getCurrentDate(DateUtils.YYYYMMDDHHMMSS));
		return baseDao.save(t);
	}

	/**
	 * 
	 * @Title: findAll
	 * @Description: 分页条件查询
	 * @param pageable
	 * @param t
	 * @return
	 * @author YangChao
	 * @date 2017年9月14日 上午7:25:45
	 */
	@LoggerManage(description = "Employee分页条件查询")
	public Page<T> findAll(Pageable pageable, T t) {
		return baseDao.findAll(Example.of(t), pageable);
	}
}
